package ${package.Mapper};

import ${package.Entity}.${entity};
import ${superMapperClassPackage};
<#if cfg.pfyPlugin_selective>
import org.apache.ibatis.annotations.Param;
</#if>

<#if cfg.pfyPlugin_batch>
import java.util.List;
</#if>

/**
 * <p>
 * ${table.comment!} Mapper 接口
 * </p>
 *
 * @author ${author}
 * @since ${date}
 */
<#if kotlin>
interface ${table.mapperName} : ${superMapperClass}<${entity}>
<#else>
public interface ${table.mapperName} extends ${superMapperClass}<${entity}> {

<#if cfg.pfyPlugin_selective>
    //根据选择的属性进行插入
    int insertSelective(@Param("record") ${entity} record, @Param("selective") ${entity}.Column ... selective);

    //根据选择的属性对主键对应的数据进行修改
    int updateByPrimaryKeySelective(@Param("record") ${entity} record, @Param("selective") ${entity}.Column ... selective);

</#if>
<#if cfg.pfyPlugin_batch>
    //批量插入记录
    int batchInsert(@Param("list") List<${entity}> list);

    //批量修改记录
    int batchUpsert(@Param("list") List<${entity}> list);

</#if>
}
</#if>
